#include "BlackDeath.Core.h"

namespace BlackDeath
{
	namespace Exception
	{
		class CBlackDeathException: public std::exception
		{
			private:
			#pragma region Variables
				const char* m_pMessage;
				int m_pErrorCode;
			#pragma endregion
			
			public:
			#pragma region Constructor and Destructor
				CBlackDeathException(const char*) throw();
				CBlackDeathException(const char*, int) throw();
				CBlackDeathException(int) throw();
				virtual ~CBlackDeathException() throw();
			#pragma endregion

			#pragma region Properties
			virtual const char* Get_Message();
			virtual int Get_ErrorCode();
			#pragma endregion

			#pragma region Methods
			virtual const char* what() const throw();
			#pragma endregion
		};
	}
}